﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using Telerik.WinControls;
using Telerik.WinControls.UI;
using Bitis_KeToanThue_Pro_DungChung.Common;
using Bitis_KeToanThue_Pro_DanhMuc.AccessDatabase;

namespace Bitis_KeToanThue_Pro_DanhMuc.Form
{
    public partial class frmDanhMucGiaTP : Telerik.WinControls.UI.RadForm
    {
        DanhMucGiaTP dmgtp = new DanhMucGiaTP();
        private int magiatp;
        private int dongia1, giabanle1;
        public frmDanhMucGiaTP()
        {
            InitializeComponent();
            dongia1 = int.Parse(txtDonGia.ToString());
            giabanle1 = int.Parse(txtGiaBanLe.ToString());
        }
        private void reset()
        {
            txtBarCode.Text = "";
            txtDonGia.Text = "";
            txtGiaBanLe.Text = "";
            txtTimKiem.Text = "";
            txtTimKiem.Focus();
        }
        private void khoitaoluoi()
        {
            var chon = new GridViewCheckBoxColumn();
            chon.HeaderText = "Chọn";
            chon.Width = 50;
            chon.IsVisible = true;
            grvGiaThanhPham.Columns.Add(chon);

            var gia = new GridViewTextBoxColumn();
            gia.HeaderText = "Giá thành phẩm";
            gia.FieldName = "DonGia";
            gia.Width = 200;
            gia.IsVisible = true;
            gia.ReadOnly = true;
            gia.TextAlignment = ContentAlignment.MiddleCenter;
            grvGiaThanhPham.Columns.Add(gia);

            var giabanle = new GridViewTextBoxColumn();
            giabanle.HeaderText = "Giá Bán Lẻ";
            giabanle.FieldName = "GiaBanLe";
            giabanle.Width = 200;
            giabanle.IsVisible = true;
            giabanle.ReadOnly = true;
            giabanle.TextAlignment = ContentAlignment.MiddleCenter;
            grvGiaThanhPham.Columns.Add(giabanle);

            var ngaylap = new GridViewTextBoxColumn();
            ngaylap.HeaderText = "Ngày lập giá";
            ngaylap.FieldName = "NgayGia";
            ngaylap.Width = 170;
            ngaylap.IsVisible = true;
            ngaylap.ReadOnly = true;
            ngaylap.TextAlignment = ContentAlignment.MiddleCenter;
            grvGiaThanhPham.Columns.Add(ngaylap);

            var bar_code = new GridViewTextBoxColumn();
            bar_code.HeaderText = "Barcode";
            bar_code.FieldName = "barcode";
            bar_code.Width = 170;
            bar_code.IsVisible = true;
            bar_code.ReadOnly = true;
            bar_code.TextAlignment = ContentAlignment.MiddleCenter;
            grvGiaThanhPham.Columns.Add(bar_code);
        }
        private void frmDanhMucGiaTP_Load(object sender, EventArgs e)
        {
            //dongia1 = int.Parse(txtDonGia.ToString());
            //giabanle1 = int.Parse(txtGiaBanLe.ToString());
            reset();
            khoitaoluoi();
        }
        private void btnThoat_Click(object sender, EventArgs e)
        {
            Close();
        }

        private void btSoanLai_Click(object sender, EventArgs e)
        {
            reset();
        }

        private void txtTimKiem_TextChanged(object sender, EventArgs e)
        {
            ClassXuLyChung.tuychontimkiemtrenluoi(txtTimKiem, grvGiaThanhPham, 1, 0);
        }

        private void btSua_Click(object sender, EventArgs e)
        {
            if(!string.IsNullOrEmpty(txtDonGia.Text) && !string.IsNullOrEmpty(txtGiaBanLe.Text) && !string.IsNullOrEmpty(txtBarCode.Text))
            {
                if (dmgtp.sua(magiatp,dongia1, giabanle1, txtBarCode.Text, dtpNgapLap.Value) == 1)
                {
                    RadMessageBox.Show("Cập nhật thành công"," Thông báo ",MessageBoxButtons.OK,RadMessageIcon.Info);
                    reset();
                    loadgird();
                }
            }
            else
            {
                RadMessageBox.Show("Bạn phải nhập đầy đủ thông tin", "Thông tin", MessageBoxButtons.OK, RadMessageIcon.Info);
            }
        }
        private void loadgird()
        {
            grvGiaThanhPham.DataSource = dmgtp.loadluoi();
        }
        //private void grvGiaThanhPham_Click(object sender, EventArgs e)
        //{
        //    showtextbox(this.grvGiaThanhPham.CurrentRow);
        //}
        private void showtextbox(GridViewRowInfo show)
        {
            if(show !=null && !(show is GridViewRowInfo))
            {
                txtDonGia.Text = ClassXuLyChung.GetSafeString(show.Cells["DonGia"].Value);
                txtGiaBanLe.Text = ClassXuLyChung.GetSafeString(show.Cells["GiaBanLe"].Value);
                txtBarCode.Text = ClassXuLyChung.GetSafeString(show.Cells["Barcode"].Value);
                dtpNgapLap.Text = ClassXuLyChung.GetSafeString(show.Cells["NgayLap"].Value);
                magiatp = int.Parse(ClassXuLyChung.GetSafeString(show.Cells["MaGTP"].Value));
            }
            else
            {
                reset();
            }
        }

        private void btXoa_Click(object sender, EventArgs e)
        {
            DialogResult thongbao = RadMessageBox.Show("Bạn có chắc muốn xóa mục này ?", "Thông báo", MessageBoxButtons.OK, RadMessageIcon.Info);
            if (thongbao == DialogResult.Yes)
            {
                for (int i = 0; i < grvGiaThanhPham.Rows.Count; i++)
                {
                    if (grvGiaThanhPham.Rows[i].Cells[0].Value != null)
                    {
                        bool ischecked = (bool)grvGiaThanhPham.Rows[i].Cells[0].Value;
                        if (ischecked == true)
                        {
                            dmgtp.xoa(magiatp);
                        }
                    }
                }
                RadMessageBox.Show("Xóa Thành Công ", "Thông Báo ", MessageBoxButtons.OK, RadMessageIcon.Info);
                reset();
                loadgird();
            }
        }

        private void btThem_Click(object sender, EventArgs e)
        {
            if (!string.IsNullOrEmpty(txtDonGia.Text) && !string.IsNullOrEmpty(txtGiaBanLe.Text) && !string.IsNullOrEmpty(txtBarCode.Text))
            {
                if (dmgtp.them(dongia1,giabanle1, txtBarCode.Text, dtpNgapLap.Value)==1)
                {
                    RadMessageBox.Show("Done", "Message", MessageBoxButtons.OK, RadMessageIcon.Info);
                    reset();
                    loadgird();
                }
            }
            else
            {
                RadMessageBox.Show("Bạn cần nhập đầy đủ thông tin","Thông báo",MessageBoxButtons.OK,RadMessageIcon.Info);
            }
        }

        private void grvGiaThanhPham_CellClick(object sender, GridViewCellEventArgs e)
        {
            showtextbox(this.grvGiaThanhPham.CurrentRow);
        }

        private void grvGiaThanhPham_Click(object sender, EventArgs e)
        {
            showtextbox(this.grvGiaThanhPham.CurrentRow);
        }
       
    }
}
